添加必需的认证字段
变更场景
您希望在当前的认证方案中,将一个可选的输入字段添加、移除或改为必需。
对用户的影响
这将导致破坏性变更,对用户产生以下重大影响:
- 现有连接的账户将无法正常工作:所有现有连接的账户将不再与您的集成兼容,除非用户手动重新认证。
- 所有 Zap 需要手动更新:由于破坏性变更,Zap 无法自动迁移,用户必须逐个编辑每个 Zap,然后才能重新运行任务。例如,如果用户使用您的集成设置了 20 个 Zap,他们需要手动更新这些 Zap 中的每一个。
最佳实践
- 将字段添加为可选: 使用字段[帮助文本](/ 和自定义错误处理(如果您使用的是我们的代码模式或 CLI 平台)来验证新设为必需的字段是否已提供,同时保持其为可选状态。此外,考虑使用自定义代码在 API 调用中为留空字段设置默认值。
- 设置默认值: 如果可能,为必需字段提供一个可覆盖的默认值。这样,用户即使未显式提供这些字段的值,也能继续使用您的集成而不会出现问题。
例如,在更新 API 端点(如地理区域或站点域)的情况下,可以通过脚本处理新增的必需输入字段,确保现有认证向后兼容,从而允许现有用户迁移到新版本。
在此代码示例中,默认将 URL 设置为 US 区域的基 URL。如果用户在认证时选择 AU,则更新为 AU 区域的基 URL;如果选择 CA,则更新为 CA 区域的基 URL。
let baseURL = "theUsApiBaseUrl";
switch (authData.region) {
case "AU":
baseURL = "theAuApiBaseUrl";
break;
case "CA":
//other regions can be easily supported by adding cases like this
baseURL = "theCaApiBaseUrl";
break;
default:
console.log("Legacy credentials are in use, defaulting to US Base URL.");
}